package cn.jtfadmin.base.lang.common.domain.dto;

import cn.jtfadmin.base.lang.constant.PageableConstant;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 带有查询条件的分页查询参数
 *
 * @author akfh
 * @since 1.0
 */
@Getter
@Setter
@ToString(callSuper = true)
public class SpecPagePDTO<T> extends SpecPDTO<T> {


    /**
     *
     */
    private static final long serialVersionUID = 1L;


    /**
     * 页码
     */
    private Integer pageNo;

    /**
     * 每页数量
     */
    private Integer pageSize;

    /**
     * 构造函数
     *
     * @param pageNo   页码
     * @param pageSize 每页数量
     */
    public SpecPagePDTO(Integer pageNo, Integer pageSize) {
        this.pageNo = pageNo;
        this.pageSize = pageSize;
    }

    public SpecPagePDTO(Integer pageNo, Integer pageSize, String column, String order) {
        this(pageNo, pageSize);
        this.setColumn(column);
        this.setOrder(order);
    }

    public SpecPagePDTO() {
        this(PageableConstant.DEFAULT_PAGE_NO, PageableConstant.DEFAULT_PAGE_SIZE);
    }

}
